#ifndef _ASYNIO_H_
#define _ASYNIO_H_


#include <io/ioperation.h>
#include <io/iiodevice.h>

#include <io/isocket.h>
#include <io/ifile.h>
#include <io/itimer.h>



interface IAsynIo : public IBase
{
	std_method(CreateReadFile)(IBase** pReadFile)					= 0;
	std_method(CreateWriteFile)(IBase** pWriteFile)					= 0;
	std_method(CreateAsyncTcpSocket)(IBase** pAsynTcpSocket)		= 0;
	std_method(CreateTcpSocket)(IBase** pTcpSocket)					= 0;
	std_method(CreateAsyncUdpSocket)(IBase** pAsynUdpSocket)		= 0;
	std_method(CreateUdpSocket)(IBase** pUdpSocket)					= 0;
	std_method(DeleteIo)(IBase* pAsynIo)							= 0;
};
_DEFINE_IID(IAsynIo, "{91559897-31F2-46C1-85AB-1ED97D58EE7B}");


#endif // !_ASYNIO_H_